Recently, a speech recognition system that both a server and a client have a function of speech recognition has been proposed. In this system, first, the client which does not need a network connection starts to recognize a user speech. If the client cannot recognize the user speech (typically due to the processing limitations of the client device), then, the server starts to recognize the user speech by utilizing high computing power. Moreover, the system tries to increase the ratio of vocabularies which the client can recognize by adding vocabularies which are included in the recognition result of the server into the recognition dictionary of the client. The result is an improvement of response speed for the whole system.
When recognition accuracy of the client is low, however, the conventional system always needs to execute the recognition process in the server and the response speed of the whole system is deteriorated. There is a limitation to the number of vocabularies which the recognition dictionary of the client can register. The conventional system determines the vocabularies which are registered into the recognition dictionary of the client based on the frequency of utterances by the user. Therefore, it is difficult to register a new vocabulary which is recently uttered by the user when there are older vocabularies which are uttered many times in the past.